Showcasing RRPlots
Libraries
library(survival)
library(FRESA.CAD)
## Loading required package: Rcpp
## Loading required package: stringr
## Loading required package: miscTools
## Loading required package: Hmisc
##
## Attaching package: 'Hmisc'
## The following objects are masked from 'package:base':
##
## format.pval, units
## Loading required package: pROC
## Type 'citation("pROC")' for a citation.
##
## Attaching package: 'pROC'
## The following objects are masked from 'package:stats':
##
## cov, smooth, var
#source("~/GitHub/FRESA.CAD/R/RRPlot.R")
#source("~/GitHub/FRESA.CAD/R/PoissonEventRiskCalibration.R")
op <- par(no.readonly = TRUE)
pander::panderOptions('digits', 3)
#pander::panderOptions('table.split.table', 400)
pander::panderOptions('keep.trailing.zeros',TRUE)
layout(matrix(1:1, nrow=1))
Wisconsin Data
Set
dataBreast <- read.csv("~/GitHub/RISKPLOTS/DATA/wpbc.data", header=FALSE)
table(dataBreast$V2)
##
## N R
## 151 47
rownames(dataBreast) <- dataBreast$V1
dataBreast$V1 <- NULL
dataBreast$status <- 1*(dataBreast$V2=="R")
dataBreast$V2 <- NULL
dataBreast$time <- dataBreast$V3
dataBreast$V3 <- NULL
dataBreast <- sapply(dataBreast,as.numeric)
## Warning in lapply(X = X, FUN = FUN, ...): NAs introduced by coercion
dataBreast <- as.data.frame(dataBreast[complete.cases(dataBreast),])
table(dataBreast$status)
##
## 0 1
## 148 46
Exploring Raw
Features with RRPlot
convar <- colnames(dataBreast)[lapply(apply(dataBreast,2,unique),length) > 10]
convar <- convar[convar != "time"]
topvar <- univariate_BinEnsemble(dataBreast[,c("status",convar)],"status")
pander::pander(topvar)
| 0.0261 |
0.0261 |
0.0261 |
0.0623 |
0.126 |
0.126 |
0.126 |
topv <- min(5,length(topvar))
topFive <- names(topvar)[1:topv]
RRanalysis <- list();
idx <- 1
for (topf in topFive)
{
RRanalysis[[idx]] <- RRPlot(cbind(dataBreast$status,dataBreast[,topf]),
atProb=c(0.90),
timetoEvent=dataBreast$time,
title=topf,
# plotRR=FALSE
)
idx <- idx + 1
}















names(RRanalysis) <- topFive
Reporting the
Metrics
ROCAUC <- NULL
CstatCI <- NULL
RRatios <- NULL
LogRangp <- NULL
Sensitivity <- NULL
Specificity <- NULL
for (topf in topFive)
{
CstatCI <- rbind(CstatCI,RRanalysis[[topf]]$c.index$cstatCI)
RRatios <- rbind(RRatios,RRanalysis[[topf]]$RR_atP)
LogRangp <- rbind(LogRangp,RRanalysis[[topf]]$surdif$pvalue)
Sensitivity <- rbind(Sensitivity,RRanalysis[[topf]]$ROCAnalysis$sensitivity)
Specificity <- rbind(Specificity,RRanalysis[[topf]]$ROCAnalysis$specificity)
ROCAUC <- rbind(ROCAUC,RRanalysis[[topf]]$ROCAnalysis$aucs)
}
rownames(CstatCI) <- topFive
rownames(RRatios) <- topFive
rownames(LogRangp) <- topFive
rownames(Sensitivity) <- topFive
rownames(Specificity) <- topFive
rownames(ROCAUC) <- topFive
pander::pander(ROCAUC)
| V35 |
0.679 |
0.596 |
0.762 |
| V24 |
0.633 |
0.542 |
0.724 |
| V34 |
0.659 |
0.572 |
0.745 |
| V7 |
0.610 |
0.515 |
0.705 |
| V16 |
0.598 |
0.504 |
0.692 |
pander::pander(CstatCI)
| V35 |
0.656 |
0.657 |
0.578 |
0.740 |
| V24 |
0.677 |
0.679 |
0.596 |
0.757 |
| V34 |
0.656 |
0.656 |
0.584 |
0.723 |
| V7 |
0.666 |
0.668 |
0.584 |
0.746 |
| V16 |
0.614 |
0.614 |
0.520 |
0.702 |
pander::pander(RRatios)
| V35 |
1.37 |
0.698 |
2.69 |
| V24 |
1.93 |
1.122 |
3.31 |
| V34 |
1.44 |
0.741 |
2.82 |
| V7 |
1.37 |
0.700 |
2.69 |
| V16 |
1.04 |
0.462 |
2.32 |
pander::pander(LogRangp)
| V35 |
0.16213 |
| V24 |
0.00331 |
| V34 |
0.37299 |
| V7 |
0.03818 |
| V16 |
0.50639 |
pander::pander(Sensitivity)
| V35 |
0.152 |
0.0634 |
0.289 |
| V24 |
0.239 |
0.1259 |
0.388 |
| V34 |
0.152 |
0.0634 |
0.289 |
| V7 |
0.152 |
0.0634 |
0.289 |
| V16 |
0.109 |
0.0362 |
0.236 |
pander::pander(Specificity)
| V35 |
0.899 |
0.838 |
0.942 |
| V24 |
0.899 |
0.838 |
0.942 |
| V34 |
0.899 |
0.838 |
0.942 |
| V7 |
0.899 |
0.838 |
0.942 |
| V16 |
0.899 |
0.838 |
0.942 |
meanMatrix <- cbind(ROCAUC[,1],CstatCI[,1],Sensitivity[,1],Specificity[,1],RRatios[,1])
colnames(meanMatrix) <- c("ROCAUC","C-Stat","Sen","Spe","RR")
pander::pander(meanMatrix)
| V35 |
0.679 |
0.656 |
0.152 |
0.899 |
1.37 |
| V24 |
0.633 |
0.677 |
0.239 |
0.899 |
1.93 |
| V34 |
0.659 |
0.656 |
0.152 |
0.899 |
1.44 |
| V7 |
0.610 |
0.666 |
0.152 |
0.899 |
1.37 |
| V16 |
0.598 |
0.614 |
0.109 |
0.899 |
1.04 |
Modeling
ml <- BSWiMS.model(Surv(time,status)~1,data=dataBreast,NumberofRepeats = 10)
[+++++++++++++++++++++++++++++++++++++++++++++++++++]…..
sm <- summary(ml)
pander::pander(sm$coefficients)
Table continues below
| V24 |
5.11e-02 |
1.02 |
1.05 |
1.09 |
0.598 |
0.257 |
| V26 |
4.62e-03 |
1.00 |
1.00 |
1.01 |
0.593 |
0.318 |
| V27 |
2.17e-04 |
1.00 |
1.00 |
1.00 |
0.608 |
0.282 |
| V34 |
1.30e-02 |
1.00 |
1.01 |
1.02 |
0.634 |
0.252 |
| V7 |
5.62e-08 |
1.00 |
1.00 |
1.00 |
0.588 |
0.237 |
| V35 |
4.49e-03 |
1.00 |
1.00 |
1.01 |
0.727 |
0.598 |
Table continues below
| V24 |
0.598 |
0.609 |
0.506 |
0.609 |
0.0619 |
0.436 |
2.86 |
| V26 |
0.597 |
0.598 |
0.523 |
0.601 |
0.0624 |
0.398 |
2.76 |
| V27 |
0.609 |
0.608 |
0.513 |
0.607 |
0.0562 |
0.434 |
2.76 |
| V34 |
0.633 |
0.618 |
0.504 |
0.617 |
0.0317 |
0.470 |
2.41 |
| V7 |
0.588 |
0.595 |
0.500 |
0.595 |
0.0487 |
0.380 |
2.30 |
| V35 |
0.613 |
0.641 |
0.603 |
0.609 |
0.0279 |
0.551 |
2.25 |
| V24 |
2.66 |
0.10349 |
1.0 |
| V26 |
2.41 |
0.07766 |
1.0 |
| V27 |
2.63 |
0.09444 |
1.0 |
| V34 |
2.85 |
0.11253 |
1.0 |
| V7 |
2.30 |
0.09489 |
0.8 |
| V35 |
3.41 |
0.00556 |
1.0 |